/*
我自己应该是想不出来的，苦恼。。 

dp[n]表示n涂色的合法方案数。(即每个相邻颜色不相同且n和第一个不相同)

1.当n-1和1处颜色不同时，那么n处只能有一种选择。那么这种情况时,dp[n]=dp[n-1]

(n-1个合法方案中每一种都满足情况1)

2.当n-1和1处颜色相同时，那么n处有两种选择。

(这时，n-1与1颜色相同，这种情况共dp[n-2]种：n-2种合法方案后，面再加一个与1处的相同颜色n-1，就是情况2的方案数)

那么，满足一般条件n>3的状态转移方程为：

dp[i]=2*dp[i-2]+dp[i-1];
dp[0]=3,dp[1]=6,dp[2]=6
*/
#include<iostream>
using namespace std;
int main(){
	long long dp[51];
	dp[1]=3;
	dp[2]=6;
	dp[3]=6;
	int n;
	cin>>n;
	for(int i=4;i<=n;i++){
		dp[i]=2*dp[i-2]+dp[i-1];
	}
	cout<<dp[n];
}